package com.seventhdawn.gwt.rcx.client.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;

import com.google.gwt.user.client.rpc.impl.RemoteServiceProxy;
import com.google.gwt.user.rebind.rpc.UberProxyCreator;

/**
 * Specifies the client-side proxy superclass for the given
 * {@link com.google.gwt.user.client.rpc.RemoteService RemoteService}
 * interface implementation.
 * <p>
 * If not present,
 * {@link com.google.gwt.user.client.rpc.impl.RemoteServiceProxy
 * RemoteServiceProxy} will be used by {@link UberProxyCreator}
 * as the default proxy implementation.
 * 
 * @see UberProxyCreator
 * @author vojtech.szocs
 */
@Documented
@Target(ElementType.TYPE)
public @interface ClientProxySuperclass {
    
    Class<? extends RemoteServiceProxy> value();
    
}
